class Person:
    # Person类用于表示一个人的基本信息
    name = None  # 姓名属性
    age = None  # 年龄属性
    gender = None  # 性别属性

    def __init__(self, name, age, gender):
        """
        初始化方法，用于创建Person类的实例
        :param name: 人的姓名
        :param age: 人的年龄
        :param gender: 人的性别
        """
        self.name = name
        self.age = age
        self.gender = gender

    def __eq__(self, other):
        """
        等价性比较方法，用于比较两个Person实例是否相等
        :param other: 另一个要比较的Person实例
        :return: 如果两个实例的姓名、年龄和性别都相同，则返回True，否则返回False
        """
        if isinstance(other, Person):
            return self.name == other.name and self.age == other.age and self.gender == other.gender
        else:
            return False


# 在没有重写__eq__方法时，默认情况下，比较的是内容的地址 就是Java中的equals方法
p1 = Person("jack", 18, "male")
p2 = Person("jack", 18, "male")
print(p1 == p2)
